In electronics, a hardware description language or HDL is any language from a class of computer languages for formal description of electronic circuits. It can describe the circuit's operation, its design and organization, and tests to verify its operation by means of simulation. The vast majority of modern digital circuit design revolves around an HDL description of the desired circuit, device, or subsystem.
For years logical representations of electronic circuits have been used as design starting points for many products. One commercially available tool that uses a hardware description language is Concept HDL. Concept HDL is an industry tool that allows a user to render logical representations of circuits using a variety of symbols. In a typical design, lines are used to represent physical connections between parts. Symbols represent parts that are attached to those lines. Each of the lines that make the connections, as well as the symbols, are placed on a grid that is selected by and displayed to the user. However, a problem often occurs when the design teams do not use the same grid.
If the same grid is not used, if pages are copied from a previous design into a new design, and do not share the same grid, this may cause disconnects in the logical representation. This may then result in short circuits or disconnects that then become transferred to the physical connections when the final circuit is physically implemented. If the short circuits or disconnects are not caught in time, it can cost the company using the tool thousands of dollars to re-release the circuit or card being designed. If the problem occurs across multiple parts and connections, it may require an entire redesign of the physical card.
Currently tools such as Concept HDL offer no support to implement or snap a design onto a grid selected by a user. By the term “snap” is meant to move the part onto the grid or correctly place it on the grid. The only solution to a misalignment due to the use of different grids, is to guess the grid on the page of the design encountering the problem, and then to move the parts to a point on the grid selected by the user. If the grid of the page including errors cannot be discovered, then the page must be deleted and the portion of the circuit on the page must be redesigned. In multi-site design environments, it is crucially important to have a program that will allow the user to place, or snap, components to a grid of the user's choice.
For the above reasons, what is needed is a tool for design of electronic circuitry where a user is able to select a specific grid, and then create a logical representation of an electronic circuit on that grid.